package com.fg114.main.util;

import android.util.Log;

public class LogUtil {
	private static boolean LOGV = true;
	private static boolean LOGD = true;
	private static boolean LOGI = true;
	private static boolean LOGW = true;
	private static boolean LOGE = true;

	public static void v(String msg) {
		if (LOGV) {
			Log.v(getTag(), msg == null ? "" : msg);
		}
	}

	public static void d(String msg) {
		if (LOGD) {
			Log.d(getTag(), msg == null ? "" : msg);
		}
	}

	public static void i(String msg) {
		if (LOGI) {
			Log.i(getTag(), msg == null ? "" : msg);
		}
	}

	public static void w(String msg) {
		if (LOGW) {
			Log.w(getTag(), msg == null ? "" : msg);
		}
	}

	public static void e(String msg) {
		if (LOGE) {
			Log.e(getTag(), msg == null ? "" : msg);
		}
	}

	private static String getTag() {
		StackTraceElement[] trace = new Throwable().fillInStackTrace()
				.getStackTrace();
		String callingClass = "";
		for (int i = 2; i < trace.length; i++) {
			Class<?> clazz = trace[i].getClass();
			if (!clazz.equals(LogUtil.class)) {
				callingClass = trace[i].getFileName();
				callingClass = callingClass.substring(0, callingClass.indexOf("."))+"(line:"+trace[i].getLineNumber()+")";
				break;
			}
		}
		return callingClass;
	}
}